import axios from 'axios'

// 项目开发和生产 环节
// 环境判断
// 开发和测试服务器 http://www.xx.com   npm run serve
// 生产服务器 http://www.aa.com   npm run build 

// 每次都是一个新的对象
let service = axios.create({
  // 对于超时时间进行环境的判断区分，生产和开发时长不一样
  // timeout: process.env.NODE_ENV === 'development' ? 5000 : 10000,
  timeout: process.env.VUE_APP_TIMEOUT,
  baseURL: process.env.VUE_APP_HOST
  // baseURL: process.env.NODE_ENV === 'development' ? '' : 'http://www.aa.com'
});

// 响应拦截器
service.interceptors.response.use(res => res.data, err => Promise.reject(err))


/**
 * get请求
 * @param {string} url 请求的url地址，如果写相对地址，则会让baseUrl生效
 * @param {json} config 头信息和其它配置 
 * @returns promise
 */
export const get = (url, config = {}) => service.get(url, config)

/**
 * post请求
 * @param {string} url 请求的url地址，如果写相对地址，则会让baseUrl生效
 * @param {json} data 请求数据
 * @param {json} config 头信息和其它配置 
 * @returns promise
 */
export const post = (url, data = {}, config = {}) => service.post(url, data, config)